package com.uniandes.edu.co.procesar.persona;

import java.util.List;

import com.uniandes.edu.co.dto.Persona;

public class ProcesarPersona {
	
	static private ProcesarPersona solitario = null;

	static public ProcesarPersona getSingleton() {
		if (solitario == null) {
			solitario = new ProcesarPersona();
		}
		return solitario;
	}
	
	public void agregarPersona(String idPersona, String nomPersona, String rolPersona, List <Persona> lPersona){
		Persona persona=new Persona(idPersona, nomPersona, rolPersona);
		lPersona.add(persona);
	}
	
	public void modificarPersona(String idPersona, String nomPersona, String rolPersona, List <Persona> lPersona){
		for (int i=0; i<lPersona.size();i++) {
			Persona persona=lPersona.get(i);
			if(persona.getIdPersona().equalsIgnoreCase(idPersona)){
				persona.setIdPersona(idPersona);
				persona.setNombre(nomPersona);
				persona.setRol(rolPersona);
				lPersona.set(i, persona);
				i=lPersona.size();
			}
		}
	}
	
	public Persona consultarPersona(String idPersona, List <Persona> lPersona){
		Persona retornoPersona=null;
		for (int i=0; i<lPersona.size();i++) {
			Persona persona=lPersona.get(i);
			if(persona.getIdPersona().equalsIgnoreCase(idPersona)){
				retornoPersona=persona;
				i=lPersona.size();
			}
		}
		return retornoPersona;
	}
	
	public Persona consultarPersonaNombre(String nomPersona, List <Persona> lPersona){
		Persona retornoPersona=null;
		for (int i=0; i<lPersona.size();i++) {
			Persona persona=lPersona.get(i);
			if(persona.getNombre().equalsIgnoreCase(nomPersona)){
				retornoPersona=persona;
				i=lPersona.size();
			}
		}
		return retornoPersona;
	}
	
	public void eliminarPersona(String idPersona, List <Persona> lPersona){
		for (int i=0; i<lPersona.size();i++) {
			Persona persona=lPersona.get(i);
			if(persona.getIdPersona().equalsIgnoreCase(idPersona)){
				lPersona.remove(i);
				i=lPersona.size();
			}
		}
	}
}
